From f9506f6405a01ddfa855e9a35fdb53a86108edf5 Mon Sep 17 00:00:00 2001 From: Marvin Kopf Date: Sun, 21 Feb 2016 00:07:58 +0100 Subject: Add check if entity is in chunk before changing tick status --- src/World.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/World.cpp b/src/World.cpp index d8386119d..dcc36f5f3 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -1019,7 +1019,10 @@ void cWorld::Tick(std::chrono::milliseconds a_Dt, std::chrono::milliseconds a_La (*itr)->SetWorld(this); m_ChunkMap->AddEntity(*itr); ASSERT(!(*itr)->IsTicking()); - (*itr)->SetIsTicking(true); + if (m_ChunkMap->HasEntity((*itr)->GetUniqueID())) + { + (*itr)->SetIsTicking(true); + } } m_EntitiesToAdd.clear(); } @@ -3805,7 +3808,10 @@ void cWorld::AddQueuedPlayers(void) // Add to chunkmap, if not already there (Spawn vs MoveToWorld): m_ChunkMap->AddEntityIfNotPresent(*itr); ASSERT(!(*itr)->IsTicking()); - (*itr)->SetIsTicking(true); + if (m_ChunkMap->HasEntity((*itr)->GetUniqueID())) + { + (*itr)->SetIsTicking(true); + } } // for itr - PlayersToAdd[] } // Lock(m_CSPlayers) -- cgit v1.2.3